Portable spirometer with improved accuracy

ABSTRACT

A spirometric measurement device includes an arrangement for computation of a dynamic correction factor to compensate for temperature-related volume changes in time varying raw forced expiratory volume (FEV) data due to cooling of expired gas. The correction factor, which compensates for body-temperature-pressure-saturated (BTPS) changes, varies in time according to variation of temperature of a flow sensor. The temperature of the flow sensor is accurately established by positioning a temperature sensor downstream of the flow sensor.

TECHNICAL FIELD

This invention relates to spirometers, and more particularly to portablespirometers incorporating microprocessor controlled data collectiondevices, including non-heated ceramic flow sensors and temperaturesensors for establishing a temperature correction factor for dataobtained from the flow sensor.

BACKGROUND ART

Workers exposed to irritating dusts and fumes have been known to exhibitchanges in lung function throughout a work shift to which they areassigned. Standard spirometry data collected before and after the workshift may detect a change in lung function from the beginning to the endof a work shift. However, it is more important to track changes in lungfunction and capacity on a substantially real-time, periodic basis,whether throughout the work shift or over the course of an entire day(or days).

Similarly, asthmatics may experience randomly occurring attacks. Whilelung function is adversely affected during the attack, lung function mayreturn to normal thereafter. For these individuals, spirometric datacollected during an attack is a more accurate representation of thenature of the attack and is thus more desirable to obtain than dataindicative of lung function only at the beginning and end of an attack.

Portable, or hand held, prior art spirometric devices are commerciallyavailable. Such devices are known in the art. The known devices operateas follows.

Volume spirometers provide the simplest approach to measurement ofspirometric parameters. Volume spirometers are essentially largecylindrical chambers including displaceable pistons. A test subjectforces air into the chamber by performing a forced vital capacity (FVC)maneuver. The piston displacement corresponds to the volume of air beingexpired. Although accurate, these devices are large and bulky.

To keep the size and weight of a spirometric device to a minimum, it isknown to measure flow instead of volume. Thus, in a flow-spirometer aflow sensor outputs a flow signal indicative of detected air flowthereacross. The desired volume data is then determined by mathematicalintegration of the flow signal. An advantage of such an approach is thatflow spirometers are inherently smaller than volume spirometers.However, although implementable by a smaller device, the flow-sensingmethod of obtaining spirometric data is known to be less accurate andmore sensitive to errors than the volume based method.

The volume of gas exhaled into both volume and flow-based spirometricdevices is initially at 37 degrees C. and rapidly cools to ambienttemperature. This cooling to ATPS (Atmospheric Temperature PressueSaturated) causes a contraction of the gas from the volume occupied atBTPS (Body Temperature Pressure Saturated) in the subject's lungs. Thespirometric volume measurement must therefore be multiplied by a BTPScorrection factor to obtain the volume value at body temperature.

Portable flow type spirometric systems fall into one of two categories:(1) peak flow meters and (2) pneumotach systems.

Peak flow meters are very simple mechanical devices consisting of amouthpiece and an indicator gauge. When the subject performs a FVCmaneuver, the force of the expired air moves an indicating marker alonga calibrated dial allowing peak flow to be read. If such a device isused without the aid of an administering technician, it is the subject'sresponsibility to perform the maneuver with sufficient effort, read thegraduated scale correctly, and record the value along with the time ofday. Peak flow is the only information that can be obtained from thistype of device.

Portable pneumotach systems comprise a flow sensing pneumotach whichgenerates an electrical flow signal proportional to flow. The flowsignal is sampled periodically by a microprocessor, which then evaluatesand stores the data. The flexibility of this type of device is limitedby the microprocessor software, which is usually stored in aread-only-memory (ROM). It is known that different sampling programs maybe needed, or provided, for different spirometric units, depending onthe specific application contemplated. However, for known spirometricdevices the sampling program is part of the software stored inread-only-memory (ROM). Thus, modification of the sampling (as well asother) software is not possible without disassembling the device andreplacing the ROM chip.

Further, known devices fail to provide a correction factor for dynamiccomputation of the body-temperature-pressure-saturated (BTPS) correctionfactor. That is, where non-heated ceramic flow sensors are used,typically there is only incomplete cooling of the flowing air as the airpasses through the sensor. Thus, the usual technique applies a factorapproximately equal to thirty percent (30%) of the full BTPS CF. Upontesting of several ceramic flow sensors with a mechanical pump, usingboth room air and air heated to 37° C. and saturated with water vapor,the inventors discovered the following.

Upon using volume ramps and the first four ATS standard waveforms totest the sensors, and upon calculating an estimated BTPS correction forFVC and forced expiratory volume in 1 second (FEV1) by dividing thevolume measured with room air by the volume measured with heated andhumidified air, the results using room air showed considerablevariability in the linearity of the flow sensors. One sensor showed a400 ml difference (6.7%) in a 6 L volume ramp and flow rates of between0.6 and 8 L/s. Using heated and humidified air, the estimated BTPS CFwith the sensor initially at 20° C. ranged from 1.06 to 1.00, comparedto a calculated value of 1.102. The estimated BTPS CF also varied withthe number of curves previously performed, the time between curves, thevolume of the current and previous curves, and the temperature of thesensor.

Thus, the known devices suffer from inaccuracies occasioned by the knowntechnique of using ambient temperature to estimate the temperature ofthe flow sensor, as well as from errors arising from use of a single,static, BTPS correction factor for all parameters, without regard to theexact time that specific measurements are made during a forcedexhalation and to time related temperature variation.

Additionally, known devices convert the raw spirometric data to variousparameters descriptive of the user's lung capacity, storing only theresultant parameters rather than the raw data. Thus, known devices loseany capability to perform further computations on the raw data and toabstract still further information therefrom.

Moreover, known devices do not include a provision for reminding a userto obtain data periodically.

Still further, known devices suffer from inaccuracies caused by flowsensor nonlinearity and flow sensor drift.

All of the commercially available portable flow devices known to theinventors thus suffer from limitations in accuracy, flexibility, datastorage capacity and physical size, and lack specific desirable optionsand features. The prior art devices are thus inadequate for remote andprolonged data collection.

There is accordingly a need in the prior art for a portable spirometricdevice capable of providing spirometric data having improved accuracyand reliability.

There is a more specific need in the prior art for a flow typespirometer including a capability for dynamic computation of the BTPScorrection factor.

Still another need of the prior art is for an ability to provide actualsensor temperature values for the flow sensor of a portable spirometer.

There is a further need for a portable spirometric device having acapability for accepting different operating control programs forflexible adaptivity to various applications, including acceptingdiffering sampling programs, without requiring disassembly orreplacement of a ROM therein.

There is yet another need in the prior art, for spirometric devicesincluding means for correcting inaccuracies caused by flow sensornonlinearity and flow sensor drift.

Additionally, there is a need in the prior art for a portablespirometric device having improved storage capacity for raw spirometricdata, to enable subsequent processing thereof.

There is moreover a need in the prior art for a portable spirometricdevice which periodically reminds its user to perform a FVC maneuver toobtain periodic spirometric data.

Further, there is a need in the prior art for a portable spirometricdevice having a reduced size to assure that a subject will not bediscouraged by bulkiness of the device from carrying the device andusing the spirometer as required.

DISCLOSURE OF INVENTION

It is accordingly an object of the present invention to provide a methodand apparatus for acquiring pulmonary function data which meets orexceeds the standards set by the American Thoracic Society (ATS).

It is a more specific object of the invention to provide spirometricmeasurement apparatus which generates dynamic BTPS correction factors,thus improving accuracy and reliability of parameters computed therefromby correction for dynamic changes in sensor and ambient airtemperatures.

It is a further object of the invention to provide a spirometerincluding means for obtaining actual (rather than estimated) sensortemperature values for the flow sensor of a portable spirometer.

Yet another object of the invention is to provide a portable spirometricdevice having a capability for accepting different operating controlprograms for flexible adaptivity to various applications, includingaccepting differing sampling programs, without requiring disassembly orreplacement of a ROM therein.

It is a particular object of the invention to provide a structure, suchas a serial data link, for downloading programming and individual datacollection features to a spirometric device from a personal computer(PC) as well as to permit the PC to retrieve and archive the spirometricdata.

It is still another object of the invention to provide a spirometricdevice including means for correcting inaccuracies caused by flow sensornonlinearity and flow sensor drift.

Yet another object of the invention is to provide novel software forquality control and analysis of retrieved spirometric data to insurethat the data is in compliance with the ATS reproducibility andacceptability criteria.

It is another object of the invention to provide a portable spirometricdevice including sufficient storage capacity for raw (unprocessed)digital data to allow archiving and further analysis in scientificresearch.

Yet another object of the invention is to provide a spirometer capableof correctly tracking a subject's respiratory function throughout amonitored time period, by periodically reminding the subject to performa maneuver.

It is thus a further object of the invention to provide a spirometricdevice having a capability of prompting a subject of a spirometric testto perform a periodic spirometry maneuver while allowing the subject toinitiate the maneuver.

Still another object of the invention is the provision of a programmablealarm to prompt the subject to perform a maneuver, thus freeing thesubject from both a requirement to record results and to remember when amaneuver is due.

Still a further object of the invention is to provide a spirometerincluding a clock for marking data representative of each maneuver withtime and date information associated therewith.

It is yet another object of the invention to provide a portablespirometric device having a reduced size to assure that a subject willnot be discouraged by device bulk from carrying the device and using thespirometer as required.

In accordance with another aspect of the invention, there is provided animprovement for a spirometer, which includes a temperature sensor forsensing a temperature of a flow sensor and a dynamic correction deviceresponsive to the temperature sensor for determining a time-varying,dynamic, body-temperature-pressure-saturated (BTPS) correction factor inaccordance with a time-variation in the temperature of the flow sensorsensed by the temperature sensor.

Moreover, in accordance with the invention the temperature sensor issituated at a distal end of the flow sensor and, more particularly, in apassageway downstream of the flow sensor.

In accordance with another feature of the invention, the temperaturesensor outputs a time varying temperature signal representing sensortemperature as a function of time, and the dynamic correction deviceincludes a programmed processor which is programmed to compute thedynamic BTPS correction factor as a function of the time varyingtemperature signals.

The programmed processor may execute a predetermined sampling program,and a separate computer, physically separate from the spirometer, may beused for storing a plurality of sampling programs. A transfer devicetransfers the predetermined sampling program stored in the separatecomputing means to the programmed processor, thereby to program theprocessor to execute the predetermined sampling program.

The inventive spirometer may include a timer for identifying times atwhich time-varying raw forced expiratory volume (FEV) data are obtained,and a storage for storing the FEV data together with the identifyingtimes associated therewith.

Other objects, features and advantages of the present invention willbecome readily apparent to those skilled in the art from the followingdescription wherein there is shown and described a preferred embodimentof the invention, simply by way of illustration and not of limitation ofthe best mode (and alternative embodiments) for carrying out theinvention. The invention itself is set forth in the claims appendedhereto. As will be realized upon examination of the specification withdue reference to the drawings, the present invention is capable of stillother, different, embodiments and its several details are capable ofmodifications in various obvious aspects, all without departing from theinvention which is recited in the claims. Accordingly, the drawings andthe descriptions provided herein are to be regarded as illustrative innature and not as restrictive of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, incorporated into and forming a part of thespecification, illustrate several aspects of a preferred embodiment ofthe present invention and, together with the description, serve toexplain the principles of the invention. In the drawings:

FIG. 1 illustrates an improved spirometer in accordance with theprinciples of the present invention;

FIG. 2 shows an exploded view of a portable spirometric measurementdevice;

FIG. 3 shows an exploded view of a compartment remotely located from theportable device of FIG. 2;

FIG. 4 schematically illustrates an interconnection of electroniccompartments of FIGS. 2 and 3;

FIG. 5 shows a connection between a PC and a data collector of theinvention;

FIG. 6 illustrates a connection between the data collector and portablepneumotach components of the invention as used to collect spirometricdata;

FIG. 7 is a flow chart showing a portion of a control program for theinventive device;

FIG. 8 is another flow chart showing another portion of the controlprogram;

FIG. 9 is a flow chart showing a further portion of the control program;

FIG. 10 shows a further flow chart for yet a further portion of thecontrol program for the inventive device; and

FIGS. 11-13 show flow charts for additional programs used to controloperation of the inventive device.

BEST MODE FOR CARRYING OUT THE INVENTION

Referring now to the drawings, there is shown in FIG. 1 an improvedpneumotach 8 in accordance with the invention. The pneumotach is used inconjunction with an electronics compartment 22 to form a portablespirometric measurement device 10, shown in exploded form in FIG. 2.

As shown in FIG. 1, the pneumotach 8 includes an air inlet 12 and an airoutlet 14, at respective proximal and distal ends of a passageway 16,formed by an aluminum housing. A ceramic transducer 18, of a known type,is included within the passageway. Pressure ports 19a and 19b areconnected via tubing (not shown) to a pressure sensor used to generate apressure signal indicative of the pressure drop developed acrosstransducer 18. The pressure sensor is located within compartment 22,which is physically attached to passageway 16.

In a marked departure from the prior art, a temperature sensor 20 ispositioned downstream of the sensor 18 in order to measure thetemperature of the exit air. In the prior art, a temperature sensor wastypically used in the electronics compartment 22, shown in FIG. 2. Inthe present invention, a cable 23 connects an output from thetemperature sensor 20 to circuitry included in compartment 22. Theinventive positioning of temperature sensor 20 is significant for thefollowing reasons.

The inventors have discovered that, in the experiment describedhereinabove, monitoring of the temperature of the air as it left thesensor, i.e., monitoring the exit temperature thereof, showed a steadyrise in temperature with each successive curve. However, both the exittemperature and the estimated BTPS CF stabilized after approximately 5curves using a particular waveform (FVC=6 L), provided there was only ashort pause between curves. Use of exit air temperature alone proved toprovide an effective means of estimating a dynamic BTPS CF. The use of alinear model (based on exit temperature) to estimate a dynamic BTPS CFreduced the error in FEV1 to less than ±3% for exit temperatures from 5to 28° C.

The inventors hereof thus concluded that both sensor linearization anddynamic BTPS CF's are needed for this type of flow sensor to operatewithin the ATS accuracy recommendations of ±3% for FVC and FEV1,particularly at lower operating temperatures.

Accordingly, as shown in FIG. 1, in a preferred embodiment of theinvention the temperature sensor 20 is located downstream (at a distalend) of the flow sensor 18 in order to provide a more accuratemeasurement of the exit temperature and thus to provide a more accuraterepresentation of the transducer temperature than is available in theprior art, wherein the temperature sensor may be in a remote electronicspackage, or may be upstream of the transducer 18.

As is the case with known spirometers, the inventive device includesseparate, interconnected, compartments 22 and 32 for electroniccomponents. Compartment 32, hereinafter data collector 32, is remotelylocated from the portable device 10. An exploded view of the componentsof data collector 32 is shown in FIG. 3. Interconnection of compartments22 and 32 is schematically shown in FIG. 4.

As seen in FIG. 4, internal to compartments 22 and 32 are provided oneor more circuit boards 24. Mounted on these circuit boards are variousintegrated circuit chips 26 on which are formed various electroniccomponents utilized in the invention, such as a microprocessor chip, ananalog to digital converter (ADC) for converting analog output signalsfrom the sensors and transducers to digital form for processing by themicroprocessor, and the like. Additionally, pressure transducer 18 isincluded in (or is mounted on) compartment 22 for generating a pressuresignal indicative of flow across transducer 18 as above described.

External to data collector 32 there are provided a pair of LED's 28a and28b, as well as an operator activated control button, or control switch,30. Not shown, but also available for the operator on or adjacent theexterior surface of data collector 32, are various other operatorinterface devices, such as a keyboard, a display, and a printing device.These devices may be used in conjunction with the inventive spirometersimilarly to the use thereof in the prior art. Specific interconnectionsamong the various elements illustrated in FIG. 4 are not shown in viewof the fact that, upon reading the following disclosure, one of ordinaryskill will be enabled to practice the invention by selecting amongvarious chips, peripheral devices and interconnections therefor areknown in the art.

A measurement device as hereinabove described and incorporating theinventive concept is hereinafter referenced as "uPJ".

Preferably, the uPJ is a portable spirometry system including threecomponents. The three components, which are physically separated fromeach other, include: (1) the portable device 10 (including pneumotach8), (2) a data collector 32, and (3) a personal computer (PC) 34. Thepneumotach 8, which is illustrated in FIG. 1 hereof, senses therespiratory flow while the subject is performing a FVC maneuver. Flowdata is sampled and stored by data collector 32 and the variouselectronic components thereof. The PC 34, which may be any readilyavailable type, is initially used to program the data collector and issubsequently used to retrieve and analyze the data from the datacollector.

The above described three components of the inventive system are firstconfigured as shown in FIG. 5 to initialize the system. In thisconfiguration, PC 34 is connected to the data collector 32 via a serialdata cable 36. PC 34 stores a number of different sampling protocols, orprograms applicable for different test conditions. Each sampling programincludes specific options for administration of a spirometric test. Theadministering physician or technician downloads an appropriate,predetermined, sampling program from the PC 34 to data collector 32 andenters specific system/subject identifiers.

Thereafter, the PC 34 is disconnected from data collector 32 and theportable device 10 is connected thereto, as shown in FIG. 6, whichillustrates a connection between the data collector and pneumotachcomponents of the invention as used to collect spirometric data.

For ease of handling, the two components are placed in a lightweightwaistpack, advantageously keeping the total system weight at less than2.5 lbs. The subject is thus able to carry the uPJ throughout themonitoring period, performing FVC maneuvers whenever required. Operationof the system in this phase is totally controlled by the downloadedprogram located in the data collector. It should be appreciated thatdownloading of the sampling program from PC 34 to data collector 32 asshown in FIG. 5 places the program in a program random access memory(RAM) of the data collector. Thus, the control program may be changedsimply and easily, by downloading a predetermined appropriate programfrom CPU 34 to the data collector 32, rather than requiring replacementof one ROM chip, storing one program, by a second ROM chip, storing asecond program.

When data collection is completed, the system is reconnected as in FIG.5 and the acquired data is transferred to the PC for innovative drift,temperature and quality checks, as well as for archiving, screening andanalysis in accordance with standard criteria and protocols.

The portable spirometric device 10 used in the inventive uPJ system maybe of a type available from Tamarac Systems of Denver, Colorado. Thisdevice requires modification to function in accordance with theinvention, in order to place the temperature sensor in the pneumotach ata position downstream of the flow sensor. The Tamarac pneumotach is atotally self-contained unit which, as hereinabove described, measuresflow by detecting a pressure drop developed across a ceramic screen.Analog-to-digital circuitry included in compartment 22 converts thepressure differential to a binary count. The temperature data from thesensor is digitized in a standard manner.

The temperature and pressure data are sampled at a rate of 200samples/sec and, together, the sampled data are transmitted at 9600 baudfrom a port 31a of compartment 22 to a standard RS232 serial data port31b of data collector 32. The ports are provided for communicationbetween the electronic compartment 22 and the data collector 32. Thedevice is arranged to receive power externally through the unused serialhandshaking lines.

The Tamarac pneumotach was chosen for the inventive uPJ because theceramic element used therein does not condense moisture, as is the casewith other unheated screen sensors, thus providing a significantadvantage. More specifically, moisture condensation from expired air cancause very large measurement errors by occluding the sensor screenopenings. Since a large amount of electrical power must usually bedissipated to heat the sensor and evaporate such accumulated moisture,use of a non-condensing flow sensor drastically reduces the powerrequirement for a battery powered device.

However, from extensive experimentation with heated/humidified air ashereinabove described, the inventors herein have found that air iscooled as it passes through the ceramic element. The resultingtemperature gradient can cause significant errors and is more pronouncedduring the first few FVC maneuvers, when the pneumotach is cool. Thus,the inventive device disclosed herein is arranged to measure thetemperature of the air as it leaves the sensor, thus obtaining the exittemperature, or T_(Exit). The instantaneous temperature measurement isused to calculate an appropriate dynamic BTPS CF, i.e., a correctionfactor which changes with time: BTPS_(factor) (t).

The known method of determining the BTPS CF is to use ambienttemperature to estimate sensor temperature T_(S), and to use a single,static, value of BTPS CF for all parameters (FEV0.5, FEV1, FEV3, etc.,where FEVi is the forced expiratory volume in i seconds), without regardto the time during the forced exhalation that these measurements aremade. For example, in accordance with the prior art the static BTPScorrection factor is determined and applied as follows:

    BTPS.sub.factor =[(BP-Vap)/(273+T.sub.S)]*[310/(BP-47)];

    FEV1.sub.BTPS =BTPS.sub.factor *FEV1.sub.uncorrected ; or

    FEV3.sub.BTPS =BTPS.sub.factor *FEV3.sub.uncorrected

(the same factor being used for FEV1 and FEV3),

where:

T_(S) =estimated sensor temperature;

BP=barometric pressure; and

Vap=Water vapor pressure at T_(S).

Most known devices estimate the sensor temperature (T_(S)) bystructuring the device to measure room temperature (temperature probemounted inside compartment containing electronics) or sensor temperature(probe mounted at entry port to sensor), at a time immediately beforethe subject exhales into the device or after the forced expiration iscomplete. The present device measures the instantaneous exit temperature(T_(Exit) (t)), and uses this temperature to estimate the instantaneoussensor temperature (T_(S) (t)) according to the equation:

    Ts(i)=-10.5+1.652*Texit(i)                                 (1)

where i=0.5, 1, 3, etc. seconds.

Therefore for FEV0.5, the exit temperature at 0.5 seconds is measuredand

    T.sub.S (0.5)=-10.5+1.652*T.sub.Exit (0.5).

In accordance with the invention, the correction factor is determined asa function of time by relying on the time dependent measured sensortemperature, using the equation:

    BTPS.sub.factor (i)=[(BP-Vap)/(273+Ts(i))]*[310/(BP-47))]. (2)

Thus, for 0.5 seconds,

    BTPS.sub.factor (0.5)=((BP-Vap)/(273+T.sub.S (0.5))*(310/(BP-47))

Finally, the data for a specific time is corrected using the correctionfactor applicable for that time, using the following equation:

    FEV(i).sub.BTPS =BTPS.sub.factor (i)*FEV (i)               (3)

Thus, to obtain corrected data for FEV0.5, the equation yieldsFEV0.5_(BTPS) =BTPS_(factor) (0.5)*FEV0.5_(uncorrected) Likewise toobtain corrected FEV1 data, the exit temperature at one second ismeasured and equation (1) yields

    T.sub.S (1)=-10.5+1.652*T.sub.Exit (1).

This result is used to compute the correction factor BTPS_(factor) (0.5)in accordance with equation (2), from which the FEV(1) data arecorrected.

It is to be noted that equation (1) used to estimate T_(S) from T_(Exit)was derived from extensive testing using heated and humidified air and amechanical lung simulator system, as hereinabove described.

While other devices use a BTPS correction factor, none use aninstantaneous BTPS(t) correction factor which is dependent on the timeat which the parameter (FEV0.5, FEV1, etc.) is measured. The timedependency of the BTPS correction factor in accordance with theinvention provides a significant improvement in accuracy.

As previously described herein, the prior art location of thetemperature sensor in the pneumotach incorporated in the invention isinternal to the electronics compartment thereof. In this location, thetemperature sensor detects global changes in environmental temperaturewhich simply fails to reflect the immediate temperature of the flowsensor or the expiratory air. By repositioning the internal temperaturesensor to be adjacent (at the downstream end of) the flow sensor asshown in FIG. 1, and centering the temperature sensor in the air streamat the exhaust side of the flow sensor, temperature values at varioustimes throughout the maneuver are measured. Thereafter, when processingthe data, a dynamic BTPS correction factor is derived and applied to thedata. The temperature sensor modification, together with the correctingsoftware described below, greatly increases accuracy of the device.

Data collector 32 is used to sample the data measured by the pneumotachand communicate with a PC. Both functions are accomplished using thesame serial data port 31b of a microprocessor included in the datacollector. The inventive data collector utilizes an embeddedmicroprocessor board, such as developed by and available from TriangleDigital Services of London, England under the designation TDS2020 andpurchased from the Saelig Co. of Victor, NY.

Various features which are desirable for use in the inventive uPJsystem, and which are found in the TDS2020 board, include:

a fast 16 bit CMOS CPU (Hitachi H8/532) running at 19.6 MHz, using anon-chip serial port and an ADC capable of digitizing 8 channels. Theserial port is used to communicate with both the Tamarac (or other)pneumotach and with the PC 34 via onboard RS232 line drivers. These samedrivers also supply the ±8 volts used to power the flow sensor. The A/Dcommunication is used to monitor the battery voltage.

compact (3"×4") board structure which consumes very little power, thusallowing the data collector electronics to fit in a box measuring1.5"×3.5"×4.5". The board typically draws 50 mA while running and lessthan 500 uA in sleep mode. Thus, the unit (which enters a sleep modebetween maneuvers as shown in the flow chart of FIG. 6) can be poweredfor months from a 9 volt battery.

availability of 512 kbytes of battery-backed data RAM on board, forstoring at least 128 unprocessed FVC maneuvers. A 3 volt lithium cellprotects this RAM in case the main system battery fails, and

an onboard real time clock to periodically time and mark the spirometrymaneuvers.

Control software for the data collector 32 is described below. Thesoftware was created using a stackable development board (TDS2020DV),also purchased from Saelig. This board contains a FORTH compiler in ROMand 45 kbytes of program RAM. The software was written in FORTH on a PCand then downloaded to the TDS2020DV using the supplied developmentsoftware. By keeping the development board in the final product, severalsampling programs can be written and only the required version need beloaded into the data collector RAM, simplifying reconfiguration ormodification of the system.

In addition to the two TDS boards, other components used in collectingthe data includes a standard piezo alarm, used to alert the subject toperform a maneuver. Two LEDS, one red and one green, for example, areused as visible feedback to indicate when the data collector is ready toaccept data and, in case of difficulty, as a system error indicator, asshown in the accompanying flow charts. Pushbutton 30 (hereinafter "alertbutton") is provided to allow the subject to begin a maneuver at anytime, as shown in FIG. 10. Two connectors are mounted externally on thecase: a standard 9-pin RS232 connector 31b and a phone plug receivingexternally applied power. The additional components are routed in aknown manner to a single interface board 38, and are stacked in thecompartment 32 next to the TDS2020DV onto the TDS2020 board.

The personal computer 34 may be any IBM PC, laptop, or compatiblecomputer. The computer is used to set up the data collector 32 bydownloading the appropriate sampling program thereto. After data hasbeen collected, the data is transferred to the PC for calculation andquality control. Connection to the data collector 32 is made via astandard 3-wire RS232 cable as illustrated at 36. To extend the life ofthe data collector system battery, external 12 volt DC power is alsoapplied.

The following description, in conjunction with the attached flow charts,describes the software developed for the inventive system in order toenable those of ordinary skill in the art to practice the invention.

When power is first applied to the data collector configured inaccordance with FIG. 5, the program RAM is cleared in a standard mannerat step S10 in FIG. 7 and the TDS2020 is board is made ready to accept anew program. In view of the above described development used for thesoftware, the program source code must be written in the FORTHprogramming language. This may be done using any PC text editor.

The FORTH source code is transferred to the data collector 32 usingdevelopment software available from Triangle Digital Services under thedesignation TDS-PC. This software sends code, line by line, to theTDS2020 where it is compiled into program RAM. The last line of thesource code must invoke its execution. The data collector now has arunning program and the TDS-PC is used as a terminal emulator tocommunicate with the FORTH program.

A unique feature of the uPJ system is the ability to download one ofseveral sampling programs from an IBM-PC compatible computer. Thisfeature is an improvement over prior art devices which use software thatis permanently resident in the instrument in ROM. The ability todownload different sampling programs allows the same hardware to be usedin different sampling environments. That is, for monitoring workersduring varying work shifts (for example, alarm settings may vary) ormonitoring patients with suspected asthma at home. The specific samplingprogram (SPIROLOG) used can therefore be varied according to theparticular situation and particular conditions, and therefore allows themost appropriate and efficient means of data collection. In addition,battery usage can be minimized by entering a sleep mode as shown at stepS26 in FIG. 8, thus extending the time the instrument can be usedwithout changing the battery.

In accordance with the invention, there is provided a sampling sequence,or program, which collects 100 FVC data points per second, for up to 20seconds as noted at steps S62-S76 in FIGS. 9-10, after either thesubject initiates a maneuver request by pressing the alert button 30 ofFIG. 4, as detected at step S80 in FIG. 10, or the pre-programmed alarmhas been sounded to automatically alert the subject. Without datacompression, 128 flow time curves can be saved in the above noted RAM.

A different sampling program is available to compress the data if thesampling environment so dictates. Saving the entire flow time signal inRAM (as shown in steps S64 and S72) is a distinctive feature of theinvention which is not available in other instruments. With theavailability of the entire expiratory flow time signal, sufficientinformation is available to perform a thorough assessment of themaneuver's quality. In addition, sufficient information would thus beavailable for other software, presently being developed, toautomatically classify patients as having or not having asthma.

Once SPIROLOG is running, the administering personnel is prompted by thesoftware at steps S12 and S14 in FIG. 7 to enter the time, date, andspecific patient and system parameters (i.e., subject ID, study name,etc.). After all pertinent information is collected, the SPIROLOG mainmenu is displayed at step S16. Here, steps S18-S24 permit the technicianto view or change any entered information, begin spirometry datacollection, transfer the collected data, or check the system status,such as battery voltage and number of curves collected.

If spirometry is selected at step S20, the data collector must bedisconnected from the PC and connected to the pneumotach to beginoperation in accordance with the flow chart of FIG. 8. The datacollector enters a sleep mode at step S26, conserving battery power.Readiness to perform a maneuver, i.e., the preprogrammed alarm has beensounded or the subject has pressed the alert button, is detected at stepS28. The data collector then wakes up and applies power to thepneumotach at step S30. After some preliminary error checking at stepsS32, S34 and S38 to insure the battery voltage is valid and data RAMspace is available, the unit waits for the pneumotach to send flow andtemperature data. When the data collector is awakened and power isapplied at step S30, the device immediately begins transmitting flow andtemperature data, following different sequences depending on the mode bywhich the device was awakened, which is determined at step S36. If datais not received within one second, it is assumed that the PC isconnected and program flow is returned to the main menu, awaitinganother selection from the technician. Otherwise, flow sensor data issampled at step S64 of FIG. 9.

One of the problems with prior art pneumotachs is the tendency for theflow sensor output (or the pressure transducer output) to drift afterpower is first applied. A unique power-up procedure is thus provided inthe present invention to help minimize this effect. As shown at stepsS44 and S46 in FIG. 8, power is applied to the sensor for 30 secondsprior to actually collecting FVC data in FIG. 9. This delay is providedin order to give ample time for the amplifier electronics to stabilizeto a predictable rate. In addition to this power-up delay, a pressuretransducer stability test is performed prior to collecting data. Thestability test is shown as a subroutine S52 in FIG. 9. This testinvolves sampling a zero-flow value at 1/2 second intervals as shown atsteps S54 and S56, and comparing the current and previous values at stepS58. When the difference between the two values becomes less than apredefined limit, or 10 seconds has elapsed, the subroutine exits via anaffirmative determination at either of steps S58 or S60, and the greenLED is turned on at step S62 to inform the subject that a maneuver maybegin and that the maneuver data may be collected. This method has beenfound to both minimize the inherent transducer drift and to allow foraccurate post-processing drift correction. On beginning the maneuver,the subject may blow into the device and sampling continues until 20seconds of data are collected, as determined at step S76 in FIG. 10, orthe subject terminates the maneuver by pressing the alert button, asestablished at step S80.

SPIROLOG saves the FVC data in 4096 byte blocks, as shown in Table 1below, each containing 64 bytes of overhead and 4032 bytes (2016 integersamples) of flow data.

                  TABLE 1                                                         ______________________________________                                        SPIROLOG Data block format.                                                   Variable            # of bytes                                                                              Block byte #                                    ______________________________________                                        Subject ID number   2          0                                              Study name          8          2                                              Shift code          1         10                                              Sex/Race code       1         11                                              Computer generated quality factor                                                                 1         12                                              not used            1         13                                              Temperature (C) prior to maneuver                                                                 1         14                                              Barometric pressure (mm HG-550)                                                                   1         15                                              Subject age         1         16                                              Subject height (cm) 1         17                                              Technician ID number                                                                              2         18                                              Sampling software version                                                                         1         20                                              Month at end of maneuver                                                                          1         21                                              Day at end of maneuver                                                                            1         22                                              Year at end of maneuver                                                                           1         23                                              Hour at end of maneuver                                                                           1         24                                              Minute at end of maneuver                                                                         1         25                                              Second at end of maneuver                                                                         1         26                                              Manuever number     1         27                                              Session number      2         28                                              Data collector number                                                                             1         30                                              Data collector type 1         31                                              Pneumotach number   2         32                                              1st Pretest 50 point flow average                                                                 2         34                                              2nd Pretest 50 point flow average                                                                 2         36                                              50 point flow avg 5 sec after test                                                                2         38                                              Offset to last flow sample in block                                                               2         40                                              Calibration syringe volume (ml)                                                                   2         42                                              1st Posttest 50 point flow avg                                                                    2         44                                              2nd Posttest 50 point flow avg                                                                    2         46                                              3rd Posttest 50 point flow avg                                                                    2         48                                              Temperature count after 1 sec                                                                     2         50                                              Temperature count after 1.5 sec                                                                   2         52                                              Temperature count after 2 sec                                                                     2         54                                              Temperature count after 4 sec                                                                     2         56                                              Temperature count after 7 sec                                                                     2         58                                              Temperature count at FVC                                                                          2         60                                              Temperature count during                                                                          2         62                                              posttest flow avgs                                                            Flow data           2         64-4095                                         ______________________________________                                         In accordance with the preferred embodiment and in view of the constraints     of the above described system, a flow sample is actually saved as a sum of     two consecutive flow values, resulting in a single 10 ms sample. Also, the     first 100 samples are continuously saved in a temporary (1-second) ring     buffer at step S64 of FIG. 9, until a flow threshold of approximately 200     ml/sec is reached. Once reached, this one second buffer and the remaining     flow samples, up to a total of 20.16 seconds, are saved to the data block     at step S70 of FIG. 10. This method allows the data block to contain     approximately one second of pre-maneuver data.

In addition to the raw flow samples, various zero-flow averages andtemperatures are collected throughout the maneuver at steps S74 and S78.These values are used later by the PC processing software to determinethe necessary correction factors in accordance with the above describedequations (1), (2) and (3). Each block, therefore, contains all theinformation needed to accurately compute the spirometric parameters withdynamic BTPS correction.

To retrieve the spirometry maneuvers, SPIROLOG was designed to send theaccumulated data blocks serially to the PC using the YMODEM transferprotocol. To do this, the data collector must be reconnected to transferdata to the PC. This may be done using any commercially availablecommunications program, such as PROCOMM, for example. When the alertbutton is pressed, SPIROLOG senses the PC and returns to the main menu.The technician will then begin the data transfer at step S18, usingPROCOMM or another communication program. Normally, SPIROLOGcommunicates to the PC at 9600 baud. However, to decrease transfer time,38.4 kbaud is used during YMODEM transfer.

Once the raw spirometry data is transferred to the PC, severalprocessing steps must be completed before the results are obtained.These steps are sensor linearization, sensor zero-flow correction,dynamic temperature correction, parameter calculation, and qualityassessment.

Because each flow sensor has a different relationship between air flowand the pressure drop across the sensor, flow linearization isessential. To determine this correction/linearization model, a 30 pointflow calibration curve is generated for each sensor by injectingconstant flows from 0.4 to 12 liters per second into the sensor andmeasuring the corresponding pressure (flow). A very precise,hydraulic-drive mechanical pump or lung simulator is used to generatethese 30 different flow rates.

Known methods fit a quadratic function to this relationship using aknown least squares curve fitting technique. For this device, two splinequadratic functions are computed to model the relationship between theapplied flow (derived from pump) and the resultant pressure measure bythe device. Using two spline functions improves the accuracy of thedevice. The first quadratic function is applied for flow from 0 to 6liters per second, and the second quadratic function is used for flowsabove 6 liters per second. To insure a smooth transition between 5.9 and6.1 liter per second flow values, the second quadratic function isconstrained to pass through the computed value at 6 liters per second,based on computations using the first quadratic function (spline). Thesefunctions are derived using a known constrained least squares curvefitting technique and are of the following form, easily implemented insoftware:

    Flow.sub.corrected (0 to 6L/s)=B.sub.10 +B.sub.11 *Pressure+B.sub.12 *Pressure.sup.2

    Flow.sub.corrected (>6L/s)=B.sub.20 +B.sub.21 *Pressure+B.sub.22 *Pressure.sup.2

The coefficients B_(ij) must be derived for each individual sensor.

Zero-flow correction is necessary because the pressure transducer outputdrifts with time. Correction consists of estimation of this driftthroughout the FVC maneuver. Although this drift was found to beexponential, the SPIROLOG program delays collecting FVC data (at stepS60) until the zero-flow drift has decayed to an approximate linearrange (not exceeding 10 seconds). A linear drift factor is thendetermined from the flow before and after the maneuver. This driftcorrection factor is applied to each flow data point.

As previously noted herein, dynamic BTPS correction is needed tocompensate for the cooling of the air as it passes through the flowsensor. The dynamic correction factor is estimated by measuring thetemperature of the gas as it leaves the sensor. Through extensivetesting of the sensor using heated and humidified air, a linear modelwas developed relating this correction factor with the exit temperature.

The corrected flow signal is integrated as a function of time (volumetime curve) and standard known techniques are used to calculate (PJCALprogram) the following spirometric parameters:

Computer generate quality code

Peak Expiratory Flow

FVC--Forced Vital Capacity

FEV0.5--Forced Expiratory Volume in 0.5 seconds

FEV1--Forced Expiratory Volume in 1 second

FEV3--Forced Expiratory Volume in 3 seconds

FEF25-75%--Forced Expiratory Flow from 25 to 75 percent of FVC

Vext--Extrapolated Volume

T_(tot) --Total Expiratory time (seconds)

T_(FVC) --Time at which FVC was obtained

In addition to the above noted calculated parameters, the parameterssaved by the sampling program (SPIROLOG) are listed in Table 1, howeverthe following parameters are of particular importance:

T_(Zero) --temperature before the start of the test

T₀.5 --temperature at 0.5 seconds into the test

T₁ --temperature at 1 second into the test

T₃ --temperature at 3 seconds into the test

T₆ --temperature at 6 seconds into the test

T_(Eot) --temperature at end of the test.

T_(Post) --temperature immediately after completion of the test

The above temperatures are used to calculate a dynamic BTPS correctionfactor for each of the calculated parameters described above. Thefollowing pressure transducer zero values are saved for sensor zerodetermination and drift correction, as shown in FIG. 11. While priordevices only determine the pressure sensor zero immediately before thestart of test, it will be appreciated from the sequence of steps shownin FIG. 11 that the present device measures the pressure sensor zero atseveral different times, both immediately before and immediately afterthe completion of an expiratory maneuver. These different zero pressuremeasurements are used to determine the sensor zero and to estimate thedirection and magnitude of sensor drift. With these additionalmeasurements, the sensor drift during the expiratory maneuver isestimated and zero correction is made for each individual flow pointcollected during the maneuver. Each pressure is an average pressure,averaged over a 0.5 second interval.

P_(Zerol) --pressure sensor zero before start of test

P_(Zero2) --pressure sensor zero immediately before start of test

P_(Zero3) --pressure sensor zero at end of test immediately before startof maneuver

P_(Postl) --pressure sensor zero at 0.05 seconds after end of test

P_(Post2) --pressure sensor zero at 0.1 seconds after end of test

P_(Post3) --pressure sensor zero at 0.15 seconds after end of test

P_(Post5) --pressure sensor zero at 5 seconds after end of test (onlycollected when expiratory maneuver lasts longer than 19 seconds).

The data for P_(Post5) is taken when an extremely long maneuver isdetected. Such a maneuver may occur either because a patient actuallyblows into the spirometer for that time duration, or because of sensordrift. Accordingly, the 5 second waiting period is provided to assurethat the patient was not blowing into the device. Each of the post-testpressure sensor zeros (P_(Zero3), P_(Post1), P_(Post2), P_(Post3), andP_(Post5)) are compared to determine if they are consistent with eachother. If differences between post-test pressure sensor zeros are notwithin limits, then an outlier routine is used to determine which valueis most likely in error (different from the mean of the other values bya predetermined amount). A post-test pressure sensor zero is thendetermined using the average of acceptable post test pressures.

The pre-test pressure sensor zeros (P_(Zero1) and P_(Zero2)) arecompared to determine if they are within acceptable limits of eachother. If they do not agree, each is compared to the average post testpressure sensor zero to determine which is most likely in error. Apre-test pressure sensor zero is then determined from the average of thepre-test pressures or the best pre-test pressure.

The direction and magnitude of the pressure sensor zero drift iscalculated (PJCAL program) by computing the difference between pre andpost test zero pressures versus the test time interval assuming a linearchange with time. In this manner, each flow point over the entire testcan be corrected for both zero pressure (flow) offset and pressure(flow) drift over the forced exhalation.

Quality assessment (PJCAL program) is performed on each maneuver todetermine if it meets the American Thoracic Society's (ATS) definitionof an acceptable maneuver (no excessive hesitation, cough, insufficienteffort, early termination, etc). In addition, all of the maneuvers foran individual subject are compared to insure that they satisfy the ATSreproducibility criterion. While some of the methods to determine anacceptable maneuver are known (early termination), the software usedwith this device to detect a cough and insufficient effort is unique.

As shown in FIG. 12, a cough is detected by calculating (step S90) thefirst derivative of the flow with respect to volume from peak flow tothe FVC (D_(i) =Flow_(i) / Volume_(i)); where Volume_(i) =i*FVC/45 andi=1 to 45 (step S92). When it is determined (step S94) that the sum ofthese derivatives, D_(C), is greater than a critical threshold value(peak flow/5), then a cough is indicated.

If a cough is detected during the first second of exhalation, then thisis defined as an unacceptable maneuver and this maneuver is not used. Ifa cough is detected after one second, then an inhalation of air duringwhat should be a continuous forced exhalation is suspected.

An insufficient effort is determined in accordance with the procedureshown in the flow chart of FIG. 13. Specifically, insufficient effort isdetermined by calculating from the flow volume curve the volume at whichthe value of 90 percent of peak flow (after peak flow) occurs. When thisvolume at which 90 percent peak flow occurs is greater than 35 percentof the FVC, a late peak flow (insufficient effort) is indicated.

After analysis in this fashion, a summary letter with test results and amedical interpretation of the results may be printed.

All of the above are accomplished using various programs written inTurbo-C and run on a PC. Other programs also exist which allow editingof the subject/system overhead data and viewing of the maneuver data inflow/volume or volume/time format.

The foregoing description of the preferred embodiments of the inventionhas been presented for purposes of illustration and description. It isnot intended to be exhaustive or to limit the invention to the preciseforms disclosed since many modifications or variations thereof arepossible in light of the above teaching. All such modifications arewithin the scope of the invention. The embodiments described herein werechosen and described in order best to explain the principles of theinvention and its practical application, thereby to enable others ofordinary skill in the art best to utilize the invention in variousembodiments and with various modifications as are suited to theparticular use contemplated therefor. It is intended that the scope ofthe invention be defined by the claims appended hereto, when interpretedin accordance with full breadth to which they are legally and equitablyentitled.

We claim:
 1. In a spirometer including a passageway, a flow sensor meansfor generating electric flow signals representing a rate of gas flowfrom a proximal end to a distal end of said passageway, said gas flowdefining a downstream direction, and sampling means for sampling theflow signals, said flow sensor means situated between sad proximal anddistal ends of said passageway, the improvement comprising:temperaturesensing means for sensing a temperature of said flow sensor means, anddynamic correction means responsive to said temperature sensing meansfor determining a time-varying, dynamic,body-temperature-pressure-saturated (BTPS) correction factor, tocompensate for temperature related volume changes in the gas inaccordance with a time-variation in the temperature of said flow sensormeans sensed by said temperature sensing means.
 2. A spirometer asrecited in claim 1, wherein said temperature sensing means is situatedat a distal end of said flow sensor means.
 3. A spirometer as recited inclaim 1, wherein said temperature sensing means is situated in saidpassageway downstream of said flow sensor means.
 4. A spirometer asrecited in claim 1, wherein:said temperature sensing means outputs atime varying temperature signal representing sensor temperature as afunction of time, and said dynamic correction means comprises programmedprocessing means, said programmed processing means programmed to computesaid dynamic BTPS correction factor as a function of said time varyingtemperature signal.
 5. A spirometer as recited in claim 4, wherein saidprogrammed processing means is further programmed to correcttime-varying raw forced expiratory volume (FEV) data by dynamicallyapplying said dynamic BTPS correction factor thereto.
 6. A spirometer asrecited in claim 5, further comprising timing means for identifyingtimes at which said time-varying raw FEV data are obtained, wherein saidprogrammed processing means further comprises storage means for storingcorrected FEV data.
 7. A spirometer as recited in claim 1 wherein saidsampling means comprises programmed processing means for executing apredetermined sampling program, separate computing means physicallyseparate from said spirometer and storing a plurality of samplingprograms therein, and transfer means for transferring said predeterminedsampling program stored in said separate computing means to saidprogrammed processing means thereby to program said programmedprocessing means to execute said predetermined sampling program.
 8. Aspirometer as recited in claim 7 wherein said programmed processingmeans comprises a serial communication port and said transfer meanscomprises communication means connected between said separate computingmeans and said serial communication port of said programmed processingmeans for transferring said predetermined sampling program to saidserial communication port.
 9. A spirometer as recited in claim 8,wherein:said temperature sensing means outputs a time varyingtemperature signal representing sensor temperature as a function oftime, and said dynamic correction means is included in said programmedprocessing means, further including additional processing meansprogrammed to compute said dynamic BTPS correction factor as a timevarying function of said time varying temperature signal, saidadditional processing means being further programmed to correcttime-varying raw forced expiratory volume (FEV) data by dynamicallyapplying said dynamic BTPS correction factor thereto, further comprisingtiming means for identifying times at which said time-varying raw FEVdata are obtained, and storage means for storing corrected FEV data. 10.A spirometer as recited in claim 9, further comprising annunciatingmeans responsive to said timing means for prompting a subject of aforced vital capacity (FVC) maneuver to initiate a FVC maneuver usingsaid spirometer.
 11. A spirometer as recited in claim 7, wherein saidprogrammed processing means further comprises storage means for storingtime-varying raw forced expiratory volume (FEV) data, said transfermeans operating subsequent to a forced vital capacity (FVC) maneuver totransfer stored FEV data from said programmed processing means to saidseparate computing means for processing and archival storage.
 12. Aspirometer as recited in claim 7, wherein said programmed processingmeans is further programmed for correcting inaccuracies caused by flowsensor nonlinearity and flow sensor drift.
 13. A spirometer as recitedin claim 1, further comprising timing means for identifying times atwhich time-varying raw forced expiratory volume (FEV) data areobtained,storage means for storing said FEV data together with saididentifying times associated therewith.
 14. A spirometer as recited inclaim 13, further comprising annunciating means responsive to saidtiming means for prompting a subject of a forced vital capacity (FVC)maneuver to initiate a FVC maneuver using said spirometer.
 15. Aspirometer as recited in claim 1, wherein said dynamic correction meanscomprises programmed processing means,said programmed processing meansprogrammed for processing samples of said flow signals provided by saidsampling means for determining acceptability of the samples.
 16. Aspirometer as recited in claim 15, wherein said programmed processingmeans is programmed to detect insufficient effort by a subject using thespirometer.
 17. A spirometer as recited in claim 15, wherein saidprogrammed processing means is programmed for detecting a cough by asubject using the spirometer.
 18. In a spirometer including apassageway, a flow sensor means for generating electric flow signalsrepresenting a rate of gas flow from a proximal end to a distal end ofsaid passageway, said gas flow defining a downstream direction, andsampling means for sampling the flow signals to provide time varyingforced expiratory volume (FEV) data, said flow sensor means situatedbetween said proximal and distal ends of said passageway, theimprovement comprising:temperature sensing means for sensing atemperature of said flow sensor means, said temperature sensing meanssituated in said passageway downstream of said flow sensor means, andprogrammed processing means programmed to compute abody-temperature-pressure-saturated (BTPS) correction factor, tocompensate for temperature related volume changes in the gas inaccordance with the temperature of said flow sensor means sensed by saidtemperature sensing means.
 19. A spirometer as recited in claim 18,wherein said programmed processing means further comprises storage meansfor storing said FEV data sampled by said sampling means.
 20. Aspirometer are recited in claim 19, further comprising separatecomputing means physically separate from said spirometer and transfermeans connecting said separate computing means and said programmedprocessing means for transferring stored FEV data from said programmedprocessing means to said separate computing means for processing andarchival storage.